/*
 * CommandsFactory.h
 *
 * @author Bematech S.A.
 */

#ifndef __BILBAO_PROTOCOL_COMMANDSFACTORY_H_CLASS__
#define __BILBAO_PROTOCOL_COMMANDSFACTORY_H_CLASS__

#include "bilbao/protocol/ICommand.h"
#include "bilbao/protocol/serial/command/AssociarAssinatura.h"
#include "bilbao/protocol/serial/command/AtivarSAT.h"
#include "bilbao/protocol/serial/command/AtualizarSoftwareSAT.h"
#include "bilbao/protocol/serial/command/BloquearSAT.h"
#include "bilbao/protocol/serial/command/CancelarUltimaVenda.h"
#include "bilbao/protocol/serial/command/ComunicarCertificadoICPBRASIL.h"
#include "bilbao/protocol/serial/command/ConfigurarInterfaceDeRede.h"
#include "bilbao/protocol/serial/command/ConsultarNumeroSessao.h"
#include "bilbao/protocol/serial/command/ConsultarSAT.h"
#include "bilbao/protocol/serial/command/ConsultarStatusOperacional.h"
#include "bilbao/protocol/serial/command/DesbloquearSAT.h"
#include "bilbao/protocol/serial/command/EnviarDadosVenda.h"
#include "bilbao/protocol/serial/command/ExtrairLogs.h"
#include "bilbao/protocol/serial/command/TesteFimAFim.h"
#include "bilbao/protocol/serial/command/TrocarCodigoDeAtivacao.h"

namespace bilbao
{
	namespace protocol
	{
		class CommandsFactory
		{
		public:
			/*
			 * Construtor padrão
			 */
			CommandsFactory( void );

			/*
			 * Destrutor
			 */
			virtual ~CommandsFactory( void );

			/*
			 *
			 */
			static ICommand* newInstance( const Vector< String >& );

		}; // class CommandsFactory
	} // namespace protocol
} // namespace bilbao


#endif // __BILBAO_PROTOCOL_COMMANDSFACTORY_H_CLASS__
